package com.taotao.shopping.service;

import com.taotao.shopping.domain.PmsCartItems;
import com.taotao.shopping.domain.response.CartResponse;

import java.util.ArrayList;
import java.util.List;

/**
 * @className: ShoppingService
 * @author: ZhangYuQi
 * @date: 2024/12/27 下午3:58
 * @Version: 1.0
 * @description:
 */


public interface ShoppingService {
    /**
    * @Author ZhangYuQi
    * @Description 加入购物车
    * @Date 下午4:02 2024/12/27
    * @Param [skuId]
    * @return
    */
    void addToCart(Long skuId,Integer quantity);

    /**
    * @Author ZhangYuQi
    * @Description 根据用户id查询购物车id
    * @Date 上午10:58 2024/12/28
    * @Param [userId]
    * @return
    */
    Long selectCartByUserId(Long userId);

    /**
    * @Author ZhangYuQi
    * @Description 根据skuId cartId  查询购物车明细表
    * @Date 下午12:04 2024/12/28
    * @Param [skuId, cartId, quantity]
    * @return
    */
    PmsCartItems selectCartItemsBySkuIdCartIdAndQuantity(Long skuId, Long cartId);

    /**
    * @Author ZhangYuQi
    * @Description 批量添加数据库
    * @Date 上午10:35 2024/12/29
    * @Param [addCartItemsList]
    * @return
    */
    void addInBulkCartItems(ArrayList<PmsCartItems> addCartItemsList);
    /**
    * @Author ZhangYuQi
    * @Description 批量修改购物车明细数量
    * @Date 上午10:40 2024/12/29
    * @Param [updateCartItemsList]
    * @return
    */
    void updateInBulkCartItems(ArrayList<PmsCartItems> updateCartItemsList);

    /**
    * @Author ZhangYuQi
    * @Description  获取当前登录用户购物车列表
    * @Date 上午11:05 2024/12/29
    * @Param []
    * @return
    */
    List<CartResponse> shoppingCartList();
}
